1. Field of the Invention
Embodiments of this invention relate generally to image modeling and, more particularly, to generating image models using position data associated with images.
2. Description of the Related Art
Three-dimensional (3D) modeling is a process of developing a mathematical representation of a three-dimensional object. The mathematical representation may be referred to as 3D model. A 3D model of a cube, for example, may include a mathematical representation of the corners, edges and faces of the cube that can be used to generate various views of the cube. In a computer environment, the various views can be rendered for display as two-dimensional images that are similar to what a user would see when viewing the object from various vantage points. The display of multiple views can be used to create a simulation. For example, various views of the cube can be displayed in sequence to generate a simulation that recreates what the user would see if they walked about the cube. Although a cube is described for the purpose of illustration, it will be appreciated that similar 3D modeling techniques can be used to generate 3D models of any variety of objects. For example, a home owner may generate a 3D model of their home that can be used to create a “virtual tour” of the interior and exterior of their home for prospective buyers. Similar modeling techniques can be applied to generate 3D models for creating virtual reality simulations, and the like.
In some instances, 3D models are generated using 3D photography. With 3D photography a plurality of photographic images of an object are captured from different vantage points, and the images are combined to generate a 3D model of the object. In traditional systems for generating 3D models, specialized hardware and software is used to capture and process images to construct a 3D model. For example, specialized 3D reconstruction software may be used to identify matching points between images of an object, and process the matching points to estimate the location of points in the real-world (i.e., real-world coordinates) that correspond to the points in the images. The points can be combined to create a 3D model of the object.
Unfortunately, conventional 3D modeling techniques are time-consuming and may not be accurate. For example, conventional 3D modeling algorithms may rely on estimations and interpolations that require an extensive amount of processing to generate a suitable result and that can ultimately generate inaccurate results. Moreover, conventional 3D modeling techniques may not provide a user with an opportunity to re-capture an image view or acquire additional images when they are not satisfied with the current state of the 3D model. For example, in conventional batch processing techniques, a user may be required to acquire all of the images for use in generating a 3D model and post-processing may be applied to the batch of images to generate the 3D model. Unfortunately, the user may have already left the site of the object by the time the 3D model is generated and, thus, may not have an opportunity to return to the site to capture additional images of the object.